home *** CD-ROM | disk | FTP | other *** search
- cityfloor = function()
- {
- r0 = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
- r1 = new Array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
- r2 = new Array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
- r3 = new Array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
- r4 = new Array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
- r5 = new Array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
- r6 = new Array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
- r7 = new Array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
- r8 = new Array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
- r9 = new Array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
- r10 = new Array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
- r11 = new Array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
- r12 = new Array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
- r13 = new Array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
- r14 = new Array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
- r15 = new Array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
- r16 = new Array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1);
- r17 = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
- };
- rows = 18;
- cols = 18;
- floorStart_x = 350;
- floorStart_y = 190;
- tileWidth = 18;
- tileHeight = 9;
- showTiles = false;
- numberOfTiles = 0;
- depthOffset = 400;
- spritesCollected = 0;
- buildFloor = function()
- {
- var _loc11_ = tileWidth;
- var _loc10_ = tileHeight;
- r = 0;
- while(r < rows)
- {
- var _loc9_ = floorStart_x - r * _loc11_;
- var _loc8_ = floorStart_y + r * _loc10_;
- c = 0;
- while(c < cols)
- {
- var _loc5_ = r * rows + 1 + c;
- var _loc6_ = "tile" + _loc5_;
- var _loc7_ = "floor" + _loc5_;
- var _loc3_ = this["r" + r][c];
- this[_loc6_] = {};
- var _loc2_ = this[_loc6_];
- _loc2_.depth = _loc5_;
- _loc2_.x = _loc9_ + c * _loc11_;
- _loc2_.y = _loc8_ + c * _loc10_;
- _loc2_.row = r;
- _loc2_.col = c;
- _loc2_.free = true;
- _loc2_.cont = false;
- numberOfTiles++;
- if(_loc3_.doorway == 2)
- {
- _loc2_.cont = true;
- _loc2_.room = _loc3_.room;
- _loc2_.doorTarget = _loc3_.targ;
- }
- if(_loc3_ == 1)
- {
- _loc2_.free = false;
- }
- if(showTiles)
- {
- duplicateMovieClip(floorTile_mc,_loc7_,16384 + (_loc5_ + 200));
- var _loc4_ = this[_loc7_];
- _loc4_._x = _loc2_.x;
- _loc4_._y = _loc2_.y;
- _loc4_.tileName = _loc2_.depth;
- if(_loc3_ == 1)
- {
- _loc4_._visible = false;
- }
- }
- c++;
- }
- r++;
- }
- };
- cityfloor();
- buildFloor();
- setExpand = function()
- {
- expandBlock = false;
- while(!expandBlock)
- {
- var _loc3_ = Math.ceil(Math.random() * (numberOfTiles - 1));
- var _loc4_ = _loc3_ * 20 + 2;
- var _loc2_ = this["tile" + _loc3_];
- if(_loc2_.free && !_loc2_.expand)
- {
- expandBlock = true;
- _loc2_.expand = true;
- collect_mc._x = _loc2_.x;
- collect_mc._y = _loc2_.y;
- collect_mc.swapDepths(_loc4_);
- trace(_loc3_);
- }
- }
- };
- noOfCones = 0;
- placeCone = function()
- {
- expandCone = false;
- while(!expandCone)
- {
- var _loc3_ = Math.ceil(Math.random() * numberOfTiles);
- var _loc6_ = _loc3_ * 20 + 3;
- var _loc2_ = this["tile" + _loc3_];
- if(_loc2_.free && !_loc2_.expand)
- {
- noOfCones++;
- var _loc4_ = "cone" + noOfCones + "_mc";
- expandCone = true;
- _loc2_.free = false;
- duplicateMovieClip(cone_mc,_loc4_,16384 + _loc6_);
- var _loc5_ = this[_loc4_];
- _loc5_._x = _loc2_.x;
- _loc5_._y = _loc2_.y;
- trace("CONE PLACED");
- }
- }
- };
- setExpand();
- char0 = {};
- char0.speed = 7;
- char0.speed_x = 0;
- char0.speed_y = 0;
- char0.dir = 1;
- char0.currentTile = 299;
- char0.nextTile = 298;
- steps = 0;
- difficulty = [5,10,15,20,25,30,35,40,45,50];
- coneSteps = 0;
- coneDiff = 5;
- gameOver = false;
- moveHead = function()
- {
- currentTile = this["tile" + char0.nextTile];
- char0_mc._x = currentTile.x;
- char0_mc._y = currentTile.y;
- var _loc3_ = nextTile();
- var _loc4_ = this["tile" + _loc3_];
- _loc4_.dir = snakeArray[0].dir;
- checkSnakeCollision();
- if(_loc4_.free)
- {
- if(currentTile.expand)
- {
- points += collectPoints;
- yipee_snd.start();
- spritesCollected++;
- _root.collected = spritesCollected;
- star_mc._x = collect_mc._x;
- star_mc._y = collect_mc._y;
- star_mc.gotoAndPlay(1);
- coneSteps++;
- if(coneSteps == coneDiff)
- {
- trace("RUNCONES");
- placeCone();
- coneSteps = 0;
- }
- setExpand();
- buildSnake();
- currentTile.expand = false;
- if(char0.speed > 3)
- {
- d = 0;
- while(d <= difficulty.length)
- {
- if(spritesCollected == difficulty[d])
- {
- char0.speed--;
- }
- d++;
- }
- }
- }
- defineSnakePos();
- var _loc6_ = _loc4_.x - this["tile" + snakeArray[0].nextTile].x;
- var _loc5_ = _loc4_.y - this["tile" + snakeArray[0].nextTile].y;
- snakeArray[0].speed_x = _loc6_ / snakeArray[0].speed;
- snakeArray[0].speed_y = _loc5_ / snakeArray[0].speed;
- currentTile.nextTile = _loc3_;
- snakeArray[0].prevTile = char0.nextTile;
- snakeArray[0].nextTile = _loc3_;
- char0_mc.swapDepths(_loc3_ * 20 + 1);
- steps = snakeArray[0].speed;
- }
- else
- {
- _root.gameOver_mc.gotoAndPlay(2);
- trace("GAMEOVER START AGAIN");
- char0.speed_x = 0;
- char0.speed_y = 0;
- gameOver = true;
- delete this.onEnterFrame;
- }
- };
- snakeArray = new Array(char0);
- snakeLength = 1;
- buildSnake = function()
- {
- var _loc4_ = "char" + snakeLength + "_mc";
- var _loc2_ = snakeArray[snakeLength - 1];
- duplicateMovieClip(char0_mc,_loc4_,16384 + (_loc2_.prevTile * 20 + 1));
- var _loc5_ = this[_loc4_];
- _loc5_._x = this["tile" + _loc2_.tile].x;
- _loc5_._y = this["tile" + _loc2_.tile].y;
- this["char" + snakeLength] = {};
- var _loc3_ = this["char" + snakeLength];
- _loc3_.speed_x = _loc2_.speed_x;
- _loc3_.speed_y = _loc2_.speed_y;
- _loc3_.nextTile = _loc2_.prevTile;
- snakeArray.push(_loc3_);
- trace(snakeArray);
- snakeLength++;
- };
- buildSnake();
- moveSnake = function()
- {
- i = 0;
- while(i <= snakeLength)
- {
- this["char" + i + "_mc"]._x += snakeArray[i].speed_x;
- this["char" + i + "_mc"]._y += snakeArray[i].speed_y;
- i++;
- }
- };
- snakeDIR = ["","forward","right","back","left"];
- defineSnakePos = function()
- {
- i = snakeLength;
- while(i > 0)
- {
- var _loc2_ = snakeArray[i];
- var _loc4_ = this["tile" + _loc2_.nextTile];
- this["char" + i + "_mc"]._x = _loc4_.x;
- this["char" + i + "_mc"]._y = _loc4_.y;
- _loc2_.speed_x = snakeArray[i - 1].speed_x;
- _loc2_.speed_y = snakeArray[i - 1].speed_y;
- _loc2_.nextTile = snakeArray[i - 1].nextTile;
- _loc2_.prevTile = snakeArray[i - 1].prevTile;
- var _loc5_ = this["tile" + _loc2_.nextTile];
- _loc2_.dir = _loc5_.dir;
- this["char" + i + "_mc"].swapDepths(_loc2_.nextTile * 20 + 1);
- if(i == snakeLength - 1)
- {
- this["char" + i + "_mc"].gotoAndStop("back");
- }
- else if(!this["char" + i + "_mc"].setFrame)
- {
- this["char" + i + "_mc"].gotoAndPlay("middle");
- }
- else
- {
- this["char" + i + "_mc"].play();
- }
- this["char" + i + "_mc"].clip_mc.gotoAndStop(snakeDIR[_loc2_.dir]);
- i--;
- }
- i = 0;
- while(i < snakeLength)
- {
- _loc2_ = snakeArray[i];
- _loc4_ = this["tile" + _loc2_.prevTile];
- var _loc3_ = this["tile" + _loc2_.nextTile];
- _loc4_.free = true;
- _loc3_.free = false;
- i++;
- }
- };
- moveChar = function()
- {
- if(Key.isDown)
- {
- keyControl();
- }
- if(steps == 0)
- {
- moveHead();
- }
- if(!gameOver)
- {
- moveSnake();
- }
- steps--;
- };
- keyControl = function()
- {
- if(Key.isDown(37) && !KeyIsDown)
- {
- snakeArray[0].dir = snakeArray[0].currentDIR - 1;
- if(snakeArray[0].dir == 0)
- {
- snakeArray[0].dir = 4;
- }
- KeyIsDown = true;
- }
- if(Key.isDown(39) && !KeyIsDown)
- {
- snakeArray[0].dir = snakeArray[0].currentDIR + 1;
- if(snakeArray[0].dir == 5)
- {
- snakeArray[0].dir = 1;
- }
- KeyIsDown = true;
- }
- if(!Key.isDown(39) && !Key.isDown(37) && KeyIsDown)
- {
- KeyIsDown = false;
- }
- };
- nextTile = function()
- {
- var _loc2_ = this["tile" + char0.nextTile].row;
- var _loc3_ = this["tile" + char0.nextTile].col;
- if(snakeArray[0].dir == 1)
- {
- var _loc4_ = (_loc2_ - 1) * rows + 1 + _loc3_;
- }
- if(snakeArray[0].dir == 3)
- {
- _loc4_ = (_loc2_ + 1) * rows + 1 + _loc3_;
- }
- if(snakeArray[0].dir == 4)
- {
- _loc4_ = char0.nextTile - 1;
- }
- if(snakeArray[0].dir == 2)
- {
- _loc4_ = char0.nextTile + 1;
- }
- char0_mc.clip_mc.gotoAndStop(snakeDIR[snakeArray[0].dir]);
- snakeArray[0].currentDIR = snakeArray[0].dir;
- return _loc4_;
- };
- collectPoints = 100;
- points = 0;
- yipee_snd = new Sound();
- yipee_snd.attachSound("yippee");
- this.onEnterFrame = function()
- {
- moveChar();
- };
- stop();
-